package cn.com.sueframe.service;

import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import org.apache.derby.client.am.SqlException;

import cn.com.sueframe.vo.CertificationVO;
import cn.com.sueframe.vo.CompanyVO;
import cn.com.sueframe.vo.GoodsVO;
import cn.com.sueframe.vo.OrderMenuVO;
import cn.com.sueframe.vo.PageVO;
import cn.com.sueframe.vo.PicVO;
import cn.com.sueframe.vo.TopPicVO;
import cn.com.sueframe.vo.UserVO;

public interface CompanyInfoService extends Serializable{
	/**
	 * 查找公司信息
	 * @return
	 * @throws SqlException
	 * Create 2013-3-26
	 * @throws SQLException 
	 */
	public CompanyVO findCompanyInfo() throws SQLException;
	/**
	 * 查找商品类型信息
	 * @author anmin
	 * @return List<PannelVO>
	 * Created Apr 6, 2013
	 */
	public List<Object> findGoodsTypeInfo(String language)throws SQLException;
	/**
	 * 查找首页信息
	 * @author anmin
	 * @return CompanyVO
	 * Created Apr 14, 2013
	 */
	public CompanyVO findHomeInfo(String language)throws SQLException;
	/**
	 * 查找商品
	 * @author anmin
	 * @return List<GoodsVO>
	 * Created Apr 15, 2013
	 */
	public List<Object> findGoods(PageVO pageVO)throws SQLException;
	
	/**
	 * 查找商品记录条数
	 * @author anmin
	 * @return List<GoodsVO>
	 * Created Apr 15, 2013
	 */
	public Integer findGoodsCount(PageVO pageVO)throws SQLException;
	
	/**
	 * 查找单个产品
	 * @author anmin
	 * @return GoodsVO
	 * Created May 2, 2013
	 */
	public GoodsVO findSingleGoods(GoodsVO goodsVO)throws SQLException;
	/**
	  * 保存用户信息
	  * @author anmin
	  * @return
	  * Created 2013-5-7
	  */
	public void saveUserInfo(UserVO userVO)throws SQLException;
	/**
	 * 查找注册时的邮箱信息是否存在，如果不存在的话，方法返回0，否则方法方法其他值
	 * @author anmin
	 * @return void
	 * Created May 12, 2013
	 */
	public String checkUserEmail(UserVO userVO)throws SQLException;
	/**
	 * 查找注册填写的用户名和用户密码是否存在，如果不存在，方法返回0，否则方法返回其他值
	 * @author anmin
	 * @return String
	 * Created May 12, 2013
	 */
	public String checkUserInfo(UserVO userVO)throws SQLException;
	/**
	 * 查找用户编号
	 * @author anmin
	 * @return String
	 * Created May 28, 2013
	 */
	public String findUserNo(Map<String,String> userInfo)throws SQLException;
	/**
	 * 想购物车中插入产品信息
	 * @author anmin
	 * @return void
	 * Created May 28, 2013
	 */
	public void addGoodsToCart(GoodsVO goodsVO)throws SQLException;
	
	 /**
	  * 判断商品是否存在于购物车库中，如果存在，方法返回大于0的数，否则，方法返回0
	  * @author anmin
	  * @return Integer
	  * Created May 30, 2013
	  */
	 public Integer isGoodsExistsInCart(Map<String,String> isExistsCond)throws SQLException;
	 /**
	  * 将购物车库中的商品数量在原来的基础上添加1
	  * @author anmin
	  * @return void
	  * Created May 30, 2013
	  */
	 public void updateGoodsCountFromCart(Map<String,String> goodsInfo)throws SQLException;
	 
	 /**
	  * 查找购物车库中商品信息
	  * @author anmin
	  * @return List<GoodsVO>
	  * Created May 30, 2013
	  */
	 public List<Object> findGoodsFromCart(PageVO page)throws SQLException;
	 
	 /**
	  * 查找购物车库中商品信息(查找记录条数)
	  * @author anmin
	  * @return List<GoodsVO>
	  * Created May 30, 2013
	  */
	 public Integer findGoodsFromCartCount(PageVO page)throws SQLException;
	 /**
	  * 修改购物城中商品数量
	  * @author anmin
	  * @return void
	  * Created Jun 14, 2013
	  */
	 public void saveGoodsCountToCart(GoodsVO goodsVO)throws SQLException;
	 /**
	 * 查找库存
	 * @author anmin
	 * @return String
	 * Created Jun 14, 2013
	 */
	 public String findRemainGoods(GoodsVO goodsVO)throws SQLException;
	 
	 /**
	  * 计算购物车中物品总价
	  * @author anmin
	  * @return String
	  * Created Jul 2, 2013
	  */
	 public String caculateTotalPrice(String userNo)throws SQLException;
	 /**
	  * 逐个从购物车库中减少商品
	  * @author anmin
	  * @return void
	  * Created Jul 4, 2013
	  */
	 public void reduceGoodsFromCartOneByOne(Map<String,String> goodsInfo) throws SQLException;
	 /**
	  * 从购物车库中删除指定的商品
	  * @author anmin
	  * @return void
	  * Created Jul 4, 2013
	  */
	 public void deleteGoodsFromCart(Map<String,String> goodsInfo) throws SQLException;
	 
	 /**
	  * 保存订单信息
	  * @author anmin
	  * @return void
	  * Created Jul 23, 2013
	  */
	 public void saveOrderInfo(OrderMenuVO orderMenuVO)throws SQLException;
	 
	 /**
	  * 将订单编号修改到购物车表中去
	  * @author anmin
	  * @return void
	  * Created Jul 23, 2013
	  */
	 public void updateGoodsCart4OrderMenu(Map<String,String> goodsCartInfo)throws SQLException;
	 
	 /**
	  * 根据订单编号查找订单信息
	  * @author anmin
	  * @return OrderMenuVO
	  * Created Aug 3, 2013
	  */
	 public OrderMenuVO findOrderInfo(String id)throws SQLException;
	 /**
	  * 查询订单信息
	  * @author anmin
	  * @return List<GoodsVO>
	  * Created Aug 5, 2013
	  */
	 public List<Object> findOrderInfoGrdData(PageVO pageVO)throws SQLException;
	 /**
	  * 查询订单信息记录条数
	  * @author anmin
	  * @return List<GoodsVO>
	  * Created Aug 5, 2013
	  */
	 public Integer findOrderInfoGrdDataCount(PageVO pageVO)throws SQLException;
	 /**
	  * 
	  * @author anmin
	  * @return List<String>
	  * Created Aug 8, 2013
	  */
	 public List<String>findGoodsIdFromCart(String userNo)throws SQLException;
	  /**
      * 
      * @author anmin
      * @return List<String>
      * Created Aug 17, 2013
      */	 
	 public List<Object>findGoodsNos(GoodsVO goodsVO)throws SQLException;
	 
	 /**
	  * 根据类别查询商品信息
	  * @author anmin
	  * @return List<Object> 返回集合对象
	  * Created Sep 8, 2013
	  */
	 public List<Object> findGoodsByType(PageVO pageVO)throws SQLException;
	 
	 /**
	  * 根据类别查询商品信息
	  * @author anmin
	  * Created Sep 8, 2013
	  */
	 public int findGoodsByTypeCount(PageVO pageVO)throws SQLException;
	 
	 /**
	  * 根据传入的条件查询商品信息
	  * @author anmin
	  * @return List<Object> 商品信息
	  * Created Sep 21, 2013
	  */
	 public List<Object> findGoodsByCondition(PageVO pageVO)throws SQLException;
	 
	 /** 根据传入的条件查询商品信息对应的记录条数
	  * @author anmin
	  * @return int 商品信息对应的记录条数
	  * Created Sep 21, 2013
	  */
	 public int findGoodsByConditionCount(PageVO pageVO)throws SQLException;
	 /**
	  * 查找在线交流工具信息
	  * @author anmin
	  * @return String
	  * Created Sep 28, 2013
	  */
	 public String findOnlineTool()throws SQLException;
	 /**
      * 分页查找证件信息
	  * @author anmin
	  * @return List<Object>
	  * Created Sep 30, 2013
	  */
	 public List<Object> findCertificationInfo(PageVO pageVO)throws SQLException;
	 /**
      * 分页查找证件信息记录条数
	  * @author anmin
	  * @return int 记录条数
	  * Created Sep 30, 2013
	  */
	 public int findCertificationInfoCount(PageVO pageVO)throws SQLException;
	 /**
	  * 查找单个的证件信息
	  * @author anmin
	  * @return CertificationVO
	  * Created Oct 2, 2013
	  */
	 public CertificationVO findSingleCertification(String id)throws SQLException;
	 /**
	  * 查询相册信息
	  * @author anmin
	  * @return AlbumVO
	  * Created Oct 4, 2013
	  */
	 public  List<Object> findAlbum(PageVO pageVO)throws SQLException;
	 /**
	  * 查询相册信息记录条数
	  * @author anmin
	  * @return AlbumVO
	  * Created Oct 4, 2013
	  */
	 public int findAlbumCount()throws SQLException;
	 /**
	  * 查找相册中的相片
	  * @author anmin
	  * @return List<Object>
	  * Created Oct 6, 2013
	  */
	 public List<Object> findPicList(PageVO pageVO)throws SQLException;
	 
	 /**
	  * 查找相册中的相片对应的记录条数
	  * @author anmin
	  * @return List<Object>
	  * Created Oct 6, 2013
	  */
	 public int findPicListCount(PageVO pageVO)throws SQLException;
	 /**
	  * 查找单个的相片
	  * @author anmin
	  * @return PicVO
	  * Created Oct 7, 2013
	  */
	 public PicVO findSinglePic(String picNo)throws SQLException;
	 /**
	  * 查找相册下面的所有相片编号
	  * @author anmin
	  * @return List<Object>
	  * Created Oct 7, 2013
	  */
	 public List<Object>findPicNos(String albumNo)throws SQLException;
	 /**
	  * 查找公告信息
	  * @author anmin
	  * @return List<Object>
	  * Created Oct 7, 2013
	  */
	 public List<Object>findAnnonceContent()throws SQLException;
    /************************* anner ****************************/
	 /**
	  * 查找公司顶部图片
	  * 
	  * @author anner
	  * @return void
	  */
	 public List<TopPicVO> findTopPic(TopPicVO topPicVO)throws SQLException;
}
